home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / ENGINEER / 2908.ZIP / ANGLES.BAS < prev    next >
BASIC Source File  |  1991-05-05  |  6KB  |  161 lines

  1. 10 ' COMPOUND ANGLE COMPUTATION PROGRAM
  2. 20 ' "ANGLES.BAS" VER. 2.0 OCTOBER 23,1990
  3. 22 ' Ver. 2.1 angles.bas revised 12/26/90
  4. 24 ' Ver. 2.2 angles.bas revised 2/9/91
  5. 30 '
  6. 40 ' COPYRIGHT 1990 ROBERT W. KASCAK
  7. 50 ' 19 LAUREL ST., TRUMBULL, CT., 06611-3919
  8. 60 ' ALL RIGHTS RESERVED WORLDWIDE
  9. 70 '
  10. 90 SCREEN 2
  11. 100 ' MENU
  12. 110 PRINT FRE(O): CLS:PRINT:PRINT
  13. 115 PRINT: PRINT     "COPYRIGHT 1990 ROBERT W. KASCAK
  14. 120 PRINT: PRINT"***   MAIN MENU FOR ANGLE.BAS PROGRAM
  15. 130 PRINT
  16. 140 PRINT "1  ENTER CONSTANTS FOR CONTAINER
  17. 150 PRINT "2  CHANGE CONSTANTS
  18. 160 PRINT "3  PRINT MEASUREMENTS AND CUTTING ANGLES (PRINTER ON)
  19. 165 PRINT "4  SHOW GRAPHICS--(COMPUTER MUST BE IN GRAPHICS MODE )
  20. 170 PRINT "5  CONVERT DEGREES OF SLOPE TO INCHES PER FOOT OF PITCH
  21. 175 PRINT "6  CONVERT INCHES PER FOOT OF PITCH TO DEGREES OF SLOPE
  22. 178 PRINT "7  RETURN TO DOS
  23. 180 PRINT: PRINT"        ENTER SELECTION  "
  24. 185 SE$=INKEY$: IF SE$="" THEN 185 ELSE SE=VAL(SE$)
  25. 190 ON SE GOSUB 1010,2010,3510,6010,4010,4510,310,9010
  26. 200 '
  27. 210 GOTO 100
  28. 300 '
  29. 310 SYSTEM
  30. 1000 '
  31. 1010  CLS:PRINT "ENTER CONSTANTS, DECIMALS ONLY ":PRINT
  32. 1015 PRINT:PRINT "** NOTE ** CONTAINERS ARE BUILT UPSIDE DOWN **
  33. 1020 PRINT:INPUT "ENTER NUMBER OF SIDES                ";SI
  34. 1030 INPUT "ENTER HEIGHT OF CONTAINER            ";H
  35. 1040 INPUT "ENTER (LARGER) BOTTOM DIAMETER       ";BD
  36. 1050 INPUT "ENTER (SMALLER) TOP DIAMETER         ";TD
  37. 1052 GOSUB 1060: GOSUB 2010: RETURN
  38. 1060 IF SI>16 THEN CF=1.01: RETURN
  39. 1070 IF SI>13 THEN CF=1.014: RETURN
  40. 1080 IF SI>11 THEN CF=1.02: RETURN
  41. 1090 IF SI>9 THEN CF=1.028: RETURN
  42. 1100 IF SI>7 THEN CF=1.042: RETURN
  43. 1110 IF SI>5 THEN CF=1.095: RETURN
  44. 1120 IF SI=5 THEN CF=1.04: RETURN
  45. 1125 PRINT: PRINT     "COPYRIGHT 1990 ROBERT W. KASCAK
  46. 1130 IF SI=4 THEN CF=1.11: RETURN
  47. 2000 '
  48. 2010   'SUB FOR CHANGING CONSTANTS
  49. 2020 PRINT:PRINT "CHANGE CONSTANTS (Y/N)
  50. 2030 SS$=INKEY$: IF SS$="Y" OR SS$="y" THEN 1010 ELSE IF SS$="N" OR SS$="n" THEN GOSUB 5010 ELSE 2030
  51. 2040 GOSUB 3010
  52. 2050 GOSUB 9010
  53. 2060 RETURN
  54. 3000 '
  55. 3010  'SUB FOR PRINTING MEASUREMENTS AND ANGLES
  56. 3020 CLS:PRINT
  57. 3030 PRINT "  CONSTANTS:
  58. 3040 PRINT "  Number of Sides...........SI "SI
  59. 3050 PRINT "  Height....................H  "H
  60. 3060 PRINT "  Bottom Diameter...........BD "BD
  61. 3070 PRINT "  Top Diameter..............TD "TD
  62. 3080 PRINT:PRINT "  MEASUREMENTS:
  63. 3090 PRINT "  Circle Factor.............CF "CF
  64. 3100 PRINT "  code......................c  "C
  65. 3110 PRINT "  Slope - Deg. from Vert....S  "S
  66. 3115 PRINT "  Pitch - Inches per Foot...P  "P
  67. 3120 PRINT "  Panel Bottom Width........B  "B
  68. 3130 PRINT "  Panel Top Width...........T  "T
  69. 3140 PRINT "  Panel Center Length.......L  "L
  70. 3150 PRINT "  Panel Edge Length.........LE "LE
  71. 3160 PRINT "  code......................d  "D
  72. 3170 PRINT:PRINT " CUTTING ANGLES:
  73. 3180 PRINT "  Miter Guage Setting.......M  "M
  74. 3190 PRINT "  Saw Blade Tilt Angle......A  "A
  75. 3200 RETURN
  76. 3500 '
  77. 3510 '
  78. 3520 LPRINT
  79. 3530 LPRINT "  CONSTANTS:
  80. 3540 LPRINT "  Number of Sides..........SI "SI
  81. 3550 LPRINT "  Height...................H  "H
  82. 3560 LPRINT "  Bottom Diameter..........BD "BD
  83. 3570 LPRINT "  Top Diameter.............TD "TD
  84. 3580 LPRINT:LPRINT "  MEASUREMENTS:
  85. 3590 LPRINT "  Circle Factor............CF "CF
  86. 3600 LPRINT "  code.....................c  "C
  87. 3610 LPRINT "  Slope - Deg. from Vert...S  "S
  88. 3615 LPRINT "  Pitch - Inches per Foot..P  "P
  89. 3620 LPRINT "  Panel Bottom Width.......B  "B
  90. 3630 LPRINT "  Panel Top Width..........T  "T
  91. 3640 LPRINT "  Panel Center Length......L  "L
  92. 3650 LPRINT "  Panel Edge Length........LE "LE
  93. 3660 LPRINT "  code.....................d  "D
  94. 3670 LPRINT:LPRINT "  CUTTING ANGLES:
  95. 3680 LPRINT "  Miter Guage Setting......M  "M
  96. 3690 LPRINT "  Saw Blade Tilt Angle.....A  "A
  97. 3700 GOSUB 9010: RETURN
  98. 4000 '
  99. 4010 'SLOPE TO PITCH
  100. 4020 CLS:PRINT:INPUT "ENTER DEGREES OF SLOPE FROM HORIZONTAL (DEGREES . DECIMAL)";D
  101. 4030 P=TAN(D/57.296)*12
  102. 4040 PRINT:PRINT:PRINT:PRINT "THE SLOPE OF "D "DEGREES IS "P "INCHES PER FOOT"
  103. 4050 GOSUB 9010
  104. 4060 RETURN
  105. 4500 '
  106. 4510 ' PITCH TO SLOPE
  107. 4520 CLS:PRINT:INPUT "ENTER THE PITCH IN INCHES OF RISE PER FOOT (INCHES . DECIMAL)";R
  108. 4530 S=ATN(R/12)*57.296
  109. 4540 PRINT:PRINT:PRINT:PRINT "THE PITCH OF "R "INCHES PER FOOT IS "S "DEGREES FROM HORIZONTAL"
  110. 4550 GOSUB 9010
  111. 4560 RETURN
  112. 5000 '
  113. 5010 C=(BD-TD)/2: C$=STR$(C): IF VAL(RIGHT$(C$,3)) < 0 THEN C$= STR$(C*10)
  114. 5012 C1$=LEFT$(C$,5): C=VAL(C1$)
  115. 5020 B=BD*CF*3.1416/SI: B$=STR$(B): B1$=LEFT$(B$,6): B=VAL(B1$)
  116. 5030 T=TD*CF*3.1416/SI: T$=STR$(T): T1$=LEFT$(T$,6): T=VAL(T1$)
  117. 5035 D9=(B-T)/2: D8$=STR$(D9): D7$=LEFT$(D8$,6): D7=VAL(D7$): IF VAL(RIGHT$(D8$,3))=-2 THEN D7= D7*.01 ELSE IF VAL(RIGHT$(D8$,3))=-3 THEN D7= D7*.001
  118. 5037 D=D7
  119. 5040 S=ATN(C/H)*57.296: S$=STR$(S): S1$=LEFT$(S$,6): S=VAL(S1$)
  120. 5050 L=SQR(C^2+H^2): L$=STR$(L): L1$=LEFT$(L$,6): L=VAL(L1$)
  121. 5055 P=H*12/L: P$=STR$(P): P1$=LEFT$(P$,6): P=VAL(P1$)
  122. 5060 LE=SQR(D^2+L^2): LE$=STR$(LE): LO$=LEFT$(LE$,6): LE=VAL(LO$)
  123. 5070 MO=90-(ATN(D/L)*57.296): M$=STR$(MO): M1$=LEFT$(M$,7): M=VAL(M1$)
  124. 5080 A=COS(S/57.296)*(360/SI)/2: A$=STR$(A): A1$=LEFT$(A$,7): A=VAL(A1$)
  125. 5090 RETURN
  126. 6000 REM
  127. 6010 ' PUT IMAGE ON GRAPHICS SCREEN
  128. 6020 CLS: PRINT "SELECT NUMBER OF FIGURE TO SHOW
  129. 6030 PRINT" FIGURE 1
  130. 6040 PRINT" FIGURE 2
  131. 6050 PRINT" FIGURE 3
  132. 6060 PRINT" FIGURE 4
  133. 6080 PRINT: PRINT"        ENTER SELECTION  "
  134. 6085 SE$=INKEY$: IF SE$="" THEN 6085 ELSE SE=VAL(SE$)
  135. 6090 ON SE GOSUB 6110,6210,6310,6410,9010
  136. 6095 RETURN
  137. 6110 ' PRINT FIGURE 1
  138. 6120 DEF SEG = &HB800
  139. 6140 BLOAD"FIGURE01.PIC",0
  140. 6180 GOSUB 9020
  141. 6190 RETURN
  142. 6210 ' PRINT FIGURE 2
  143. 6220 DEF SEG = &HB800
  144. 6240 BLOAD"FIGURE02.PIC",0
  145. 6280 GOSUB 9020
  146. 6290 RETURN
  147. 6310 ' PRINT FIGURE 3
  148. 6320 DEF SEG = &HB800
  149. 6340 BLOAD"FIGURE03.PIC",0
  150. 6380 GOSUB 9020
  151. 6390 RETURN
  152. 6410 ' PRINT FIGURE 4
  153. 6420 DEF SEG = &HB800
  154. 6440 BLOAD"FIGURE04.PIC",0
  155. 6480 GOSUB 9020
  156. 6490 RETURN
  157. 9000 ' PRINT TO SCREEN AND RETURN
  158. 9010 LOCATE 24,10: INPUT "HIT 'ENTER' FOR MENU  "; ME: RETURN
  159. 9020 LOCATE 24,5: INPUT "USE 'SHIFT-PRINT SCREEN' FOR PRINTOUT OR USE 'ENTER' FOR MENU  ";ME
  160. 9030 RETURN
  161.